package yl.hs.bmipfull.pojo.flow;

import org.springframework.lang.Nullable;
import yl.hs.bmipfull.annotations.DBField;
import yl.hs.bmipfull.annotations.DBTable;
import yl.hs.bmipfull.pojo.BaseEntity;

import java.util.List;

/**
 * 作用:  流程信息实体类<br/>
 * 创建时间: 2021年06月22日 14时22分28秒 <br/>
 *
 * @author 张凯
 */
@DBTable(disName = "流程信息", mapCode = "flow_info")
public class FlowInfoEntity extends BaseEntity {

    /**
     * 主键
     */
    @Nullable
    private Long id;
    /**
     * 编号
     */
    @DBField(disName = "流程信息编号", mapCode = "sn", isSerialNumber = true, isRequire = true, snPrefix = "FLIN")
    private String sn;
    /**
     * 流程名称
     */
    private String flowName;
    /**
     * 流程名称拼音
     */
    private String flowNamePY;
    /**
     * 数据类型名称
     */
    private String dataTypeName;
    /**
     * 数据类型名称拼音
     */
    private String dataTypeNamePY;
    /**
     * 数据类型代码
     */
    private String dataTypeCode;
    /**
     * 备注
     */
    private String remark;
    /**
     * 排序代码
     */
    private String sortCode;
    /**
     * 流程图布局Json
     */
    private String layoutJson;
    /**
     * 状态
     */
    private Short state;
    /**
     * 节点信息
     */
    private List<FlowNodeEntity> nodeList;
    /**
     * 节点参与人信息
     */
    private List<FlowNodeHandlersEntity> nodeHandlers;
    /**
     * 流程判断条件信息
     */
    private List<FlowConditionEntity> conditions;

    public Long getId() {
        return this.id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getSn() {
        return this.sn;
    }

    public void setSn(String sn) {
        this.sn = sn;
    }

    public String getFlowName() {
        return this.flowName;
    }

    public void setFlowName(String flowName) {
        this.flowName = flowName;
    }

    public String getFlowNamePY() {
        return this.flowNamePY;
    }

    public void setFlowNamePY(String flowNamePY) {
        this.flowNamePY = flowNamePY;
    }

    public String getDataTypeName() {
        return this.dataTypeName;
    }

    public void setDataTypeName(String dataTypeName) {
        this.dataTypeName = dataTypeName;
    }

    public String getDataTypeNamePY() {
        return this.dataTypeNamePY;
    }

    public void setDataTypeNamePY(String dataTypeNamePY) {
        this.dataTypeNamePY = dataTypeNamePY;
    }

    public String getDataTypeCode() {
        return this.dataTypeCode;
    }

    public void setDataTypeCode(String dataTypeCode) {
        this.dataTypeCode = dataTypeCode;
    }

    public String getRemark() {
        return this.remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getSortCode() {
        return this.sortCode;
    }

    public void setSortCode(String sortCode) {
        this.sortCode = sortCode;
    }

    public String getLayoutJson() {
        return this.layoutJson;
    }


    // region 辅助数据

    public void setLayoutJson(String layoutJson) {
        this.layoutJson = layoutJson;
    }

    public Short getState() {
        return this.state;
    }

    public void setState(Short state) {
        this.state = state;
    }

    public List<FlowNodeHandlersEntity> getNodeHandlers() {
        return nodeHandlers;
    }

    public void setNodeHandlers(List<FlowNodeHandlersEntity> nodeHandlers) {
        this.nodeHandlers = nodeHandlers;
    }

    public List<FlowConditionEntity> getConditions() {
        return conditions;
    }

    public void setConditions(List<FlowConditionEntity> conditions) {
        this.conditions = conditions;
    }

    public List<FlowNodeEntity> getNodeList() {
        return nodeList;
    }

    public void setNodeList(List<FlowNodeEntity> nodeList) {
        this.nodeList = nodeList;
    }

    //endregion

}